package com.topideal.supplychain.hades.service;

import com.topideal.supplychain.hades.dto.PersonalViewDto;
import com.topideal.supplychain.hades.viewfilter.BasicInfoFilter;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * 个人工时统计
 *
 * @author xuxiaoyan
 * @date 2018-09-13 17:57
 */
public interface PersonalTimeCountService {

    /**
     * 个人工时统计 按人员维度+jira创建时间 汇总所有登记的工时
     *
     * @param basicInfoFilter
     * @return
     */
    List<PersonalViewDto> selectTimeSummary(BasicInfoFilter basicInfoFilter);

    /**
     * 个人工时jira任务详情统计 合并逻辑
     *
     * @param filter
     */
    List<PersonalViewDto> selectTimeDetail(BasicInfoFilter filter);

    /**
     * 个人工时jira任务详情统计 不合并逻辑
     *
     * @param filter
     */
    List<PersonalViewDto> selectEveryTimeDetail(BasicInfoFilter filter);

    /**
     * 人员工时统计列表导出
     *
     * @param basicInfoFilter
     * @param response
     */
    void exportPersonalListExcel(BasicInfoFilter basicInfoFilter, HttpServletResponse response) throws IOException;

    /**
     * 人员工时详情导出 合并
     *
     * @param filter
     * @param response
     */
    void exportTimeDetailExcel(BasicInfoFilter filter, HttpServletResponse response) throws IOException;

    /**
     * 人员工时详情导出 不合并
     *
     * @param filter
     * @param response
     */
    void exportEveryTimeDetailExcel(BasicInfoFilter filter, HttpServletResponse response) throws IOException;
}
